﻿using System;
using System.Collections;
using System.Linq;
using System.Text;
using GestionadorBaseDatos;

namespace CRUD.InterfaceDAO
{
    /// <summary>
    /// Interface que define el comportamiento de la clase FormaPago
    /// </summary>
    public interface IDaoFormaPago: IGenericDAO<FormaPago,int>
    {
        /// <summary>
        /// Obtiene una forma de pago dado su nombre
        /// </summary>
        /// <param name="forma">Objeto de tipo FormaPago con su atributo "nombre" no nulo</param>
        /// <returns>Retorna un objeto de tipo FormaPago</returns>
        FormaPago GetFormaPagoByNombre(FormaPago forma);
        
        /// <summary>
        /// Obtiene una forma de pago dado su nombre
        /// </summary>
        /// <param name="forma">Tipo de dato string</param>
        /// <returns>Retorna un objeto de tipo FormaPago</returns>
        FormaPago GetFormaPagoByNombre(string forma);
        
        /// <summary>
        /// Obtiene una forma de pago dado su id
        /// </summary>
        /// <param name="Id">Objeto de tipo FormaPago con su atributo "id" no nulo</param>
        /// <returns>Retorna un objeto de tipo FormaPago</returns>
        FormaPago GetById(FormaPago Id);
       
        
        
    }
}
